stage3day2section3
Section3:過学習
テスト誤差と訓練誤差で学習曲線が乖離すること。
特定のサンプルに対して特化して学習をしてしまっている状態。 試験でいうと、模試の成績はいいけど本番には点が取れない状態。
ニューラルネットが大きいのに入力値が小さいときに発生する。
原因としては、 ・パラメータの数が多い、 ・パラメータの値が適切でない、 ・ノードの数が多い 等がある。
対策としては、正則化がある。
正則化とはネットワークの自由度を制約すること。
・L1正則化、L2正則化
λは減衰させるスケーリングのための値、スーパーパラメーター
誤差関数にpノルムを加える
p=1ならL1正則化 ラッソ回帰 マンハッタン距離
p=2ならL2正則化 リッジ回帰 ユークリッド距離
・ドロップアウト
ランダムにノードを削除して学習させる
→データのバリエーションが増える
確認テスト
左がL2正則化 右がL1正則化
上記のグルグルは、3Dグラフのある場所を切り取って誤差関数の等高線。
左の○とか□は、正則化項の等高線。
3Dを真上から見た図
その2つの交わっている部分が、両方合わせたもっとも低い場所。
L1の場合は、1つの重みに対して、ゼロのポイントを探してくれる。
(x軸がゼロになっている)
実装演習
2_5_overfiting.ipynb
*正答率トレーニング出力部分は長いのでトリムしました。